package Interfaces;
import java.util.Date;

import Dados.*;

public interface IFachada {
	
	
	/*
	 * ################## MEDICO #####################
	 */
	public void cadastrar_Medico(Endereco end, String n, Date d, String cpf, 
			Telefone tel[], String l, String s, String crm);
	
	public Medico editar_Medico(Endereco end, String n, Date d, String cpf,
			Telefone tel[], String l, String s, String crm);
	
	public boolean remover_Medico(String nome);
	
	public Medico consultar_Medico(String nome);
	

	/*
	 * ################## ADMINISTRADOR #####################
	 */
	public void cadastrar_Administrador(Endereco end, String n, Date d, String cpf, Telefone tel[], 
			String l, String s);
	
	public Administrador editar_Administrador(Endereco end, String n, Date d, String cpf, Telefone tel[], 
			String l, String s);
	
	public boolean remover_Administrador(String nome);
	
	public Administrador consultar_Administrador(String nome);
	

	/*
	 * ################## SECRETARIA #####################
	 */
	public void cadastrar_Secretaria(Endereco end, String n, Date d, String cpf, Telefone tel[], 
			String l, String s);
	
	public Secretaria editar_Secretaria(Endereco end, String n, Date d, String cpf, Telefone tel[], 
			String l, String s);
	
	public boolean remover_Secretaria(String nome);
	
	public Secretaria consultar_Secretaria(String nome);
	

	/*
	 * ################## CLIENTE #####################
	 */
	
	public void cadastrar_Cliente(Endereco end, String n, Date d, String cpf,
			Telefone tel[], int num);
	
	public Paciente editar_Cliente(Endereco end, String n, Date d, String cpf,
			Telefone tel[], int num);
	
	public boolean remover_Cliente(String nome);
	
	public Paciente consultar_Cliente(String nome);
	
	
	/*
	 * ################## CONSULTA #####################
	 */
	
	public void cadastrar_Consulta(String nome_p, String nome_m, String esp_m, 
			String plano_s, Date d);
	
	public Consulta editar_Consulta(String nome_p, String nome_m, String esp_m, 
			String plano_s, Date d);
	
	public boolean remover_Consulta(String nome_paciente, Date data);
	
	public Consulta consultar_Consulta(String nome_paciente, Date data);
	
	
	/*
	 * ################## PRONTUARIO #####################
	 */
	
	public void cadastrar_Prontuario(String nome_p, String nome_m, String esp_m, 
			String anotacoes);
	
	public Prontuario editar_Prontuario(String nome_p, String nome_m, String esp_m, 
			String anotacoes);
	
	//public boolean remover_Prontuario();
	
	public Prontuario consultar_Prontuario(String nome_paciente);
	
	/*
	 * ################## LOGIN #####################
	 */
	
	public void logar(String usuario, String senha, String modulo);
}
